/**
 * 
 */
package com.feib.stms.model;

import java.util.Date;

/**
 * 使用者登入紀錄
 * @author Jimmy Liu
 *
 */
public class UserLoginHistory extends BaseEntity {

	private static final long serialVersionUID = 129926023099269234L;
	
	/**
     * PK in Table
     */
	private Long userLoginHistoryPk;
	
	/**
     * 登入畫面輸入的使用者帳號
     */
	private User user;
	
	/**
	 * 登入畫面輸入的密碼
	 */
	private String userPwd;
	
	/**
	 * 驗證碼
	 */
	private String captch;
	/**
     * 登入Session ID
     */
    private String sessionId;
    
    /**
     * 登入時間
     */
    private Date loginTime;

    /**
     * 登入位址
     */
    private String loginLocaleIP;
    
    /**
     * 是否正常登入：<li>true: 是</li> <li>false: 否, 登入失敗</li>
     */
    private Boolean succeed;
    
    /**
     * 登入失敗原因
     */
    private String failedNote;

	/**
	 * @return failedNote
	 */
	public String getFailedNote() {
		return failedNote;
	}

	/**
	 * @param failedNote 的設定的 failedNote
	 */
	public void setFailedNote(String failedNote) {
		this.failedNote = failedNote;
	}

	/**
	 * @return loginLocaleIP
	 */
	public String getLoginLocaleIP() {
		return loginLocaleIP;
	}

	/**
	 * @param loginLocaleIP 的設定的 loginLocaleIP
	 */
	public void setLoginLocaleIP(String loginLocaleIP) {
		this.loginLocaleIP = loginLocaleIP;
	}

	/**
	 * @return loginTime
	 */
	public Date getLoginTime() {
		return loginTime;
	}

	/**
	 * @param loginTime 的設定的 loginTime
	 */
	public void setLoginTime(Date loginTime) {
		this.loginTime = loginTime;
	}

	/**
	 * @return sessionId
	 */
	public String getSessionId() {
		return sessionId;
	}

	/**
	 * @param sessionId 的設定的 sessionId
	 */
	public void setSessionId(String sessionId) {
		this.sessionId = sessionId;
	}

	/**
	 * @return succeed
	 */
	public Boolean getSucceed() {
		return succeed;
	}

	/**
	 * @param succeed 的設定的 succeed
	 */
	public void setSucceed(Boolean succeed) {
		this.succeed = succeed;
	}

	/**
	 * @return user
	 */
	public User getUser() {
		return user;
	}

	/**
	 * @param user 的設定的 user
	 */
	public void setUser(User user) {
		this.user = user;
	}

	/**
	 * @return userLoginHistoryPk
	 */
	public Long getUserLoginHistoryPk() {
		return userLoginHistoryPk;
	}

	/**
	 * @param userLoginHistoryPk 的設定的 userLoginHistoryPk
	 */
	public void setUserLoginHistoryPk(Long userLoginHistoryPk) {
		this.userLoginHistoryPk = userLoginHistoryPk;
	}

	/**
	 * @return userPwd
	 */
	public String getUserPwd() {
		return userPwd;
	}

	/**
	 * @param userPwd 的設定的 userPwd
	 */
	public void setUserPwd(String userPwd) {
		this.userPwd = userPwd;
	}

	/**
	 * @return captch
	 */
	public String getCaptch() {
		return captch;
	}

	/**
	 * @param captch 的設定的 captch
	 */
	public void setCaptch(String captch) {
		this.captch = captch;
	}

	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("UserLoginHistory [userLoginHistoryPk=");
		builder.append(userLoginHistoryPk);
		
		if (null != user)
		{
			builder.append(", user.userId=");
			builder.append(user.getUserId());
			
			if (null != user.getGroup())
			{
				builder.append(", user.group.groupNo=");
				builder.append(user.getGroup().getGroupNo());
			}
		}
		builder.append(", userPwd=");
		builder.append(userPwd);
		builder.append(", captch=");
		builder.append(captch);
		builder.append(", sessionId=");
		builder.append(sessionId);
		builder.append(", loginTime=");
		builder.append(loginTime);
		builder.append(", loginLocaleIP=");
		builder.append(loginLocaleIP);
		builder.append(", succeed=");
		builder.append(succeed);
		builder.append(", failedNote=");
		builder.append(failedNote);
		builder.append("]");
		return builder.toString();
	}
}
